package cn.csc.module.product.convert.attr;

import cn.csc.framework.common.pojo.PageResult;
import cn.csc.module.product.controller.admin.attr.vo.AttrCreateReqVO;
import cn.csc.module.product.controller.admin.attr.vo.AttrExcelVO;
import cn.csc.module.product.controller.admin.attr.vo.AttrRespVO;
import cn.csc.module.product.controller.admin.attr.vo.AttrUpdateReqVO;
import cn.csc.module.product.controller.admin.spu.vo.SpuBasicAttrReqV2VO;
import cn.csc.module.product.controller.app.spu.vo.AppSpuAttrCreateReqVO;
import cn.csc.module.product.dal.dataobject.attr.AttrDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 属性信息 Convert
 *
 * @author liuchuang
 */
@Mapper
public interface AttrConvert {

    AttrConvert INSTANCE = Mappers.getMapper(AttrConvert.class);

    AttrDO convert(AttrCreateReqVO bean);

    AttrDO convert(SpuBasicAttrReqV2VO bean);

    AttrDO convert(AttrUpdateReqVO bean);

    AttrRespVO convert(AttrDO bean);

    List<AttrRespVO> convertList(List<AttrDO> list);

    PageResult<AttrRespVO> convertPage(PageResult<AttrDO> page);

    List<AttrExcelVO> convertList02(List<AttrDO> list);

    List<AttrDO> convertList03(List<AppSpuAttrCreateReqVO> list);

    List<AttrDO> convertList04(List<SpuBasicAttrReqV2VO> list);

}
